package com.sprouting.ops.model.vo;

import com.baomidou.mybatisplus.annotation.OrderBy;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 用户拥有的和创建的角色
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2024/9/4 21:48
 */
@Data
public class UserOwnRoleVo {

    /**
     * 主键
     */
    @TableId
    private String id;
    /**
     * 角色名称-有且唯一
     */
    private String name;
    /**
     * 角色说明
     */
    private String description;
    /**
     * 角色代码-有且唯一
     */
    private String code;
    /**
     * 是否基础数据
     * @see com.sprouting.ops.interfaces.ConstantBase.BaseData
     */
    private Integer baseData;
    /**
     * 数据创建时间
     * 默认的排序字段，创建时间倒序
     */
    @OrderBy
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 数据创建人ID
     * @see com.sprouting.ops.model.OpsUser#getId()
     */
    private String createId;
    /**
     * 用户拥有的角色类型
     * create 是创建的角色，this 是拥有的角色
     */
    private String roleType;
}
